The baserom uses a framework of custom objects to allow you to toggle or activate some simple UberASM codes that are in the baserom, most of which are very basic utility features or simple state changes. They are activated simply by inserting a custom extended object into whichever levels you want with no limit. These objects work alongside any level UberASM you may want to use as well.
The tables below detail the objects available in the baserom and what their purpose is. Each object has a unique ID number that corresponds to its "extended object" value that is to be used when inserting it as a Custom Object in Lunar Magic. Simply make note of the ID(s) of object(s) you would like you use and insert them in your level manually.
The following objects can be used to enable or toggle features or settings in the baserom, or activate a simple UberASM.
ID | Object | Description |
---|---|---|
98 | Free Vertical Scroll | Makes the camera follow Mario up and down. |
99 | Lock Horizontal Scroll | Prevents the camera from scrolling left or right. |
9B | Enable Block Duplication | Disable the effects of a patch that prevents block duplication. |
9C | Hide Statusbar | Hides the Layer 3 statusbar. This does not disable the score, coin counters, timer or item box. |
9D | Enable Screen Scroll | Disable the effects of a patch that prevents scrolling the screen with L or R. |
9E | Enable SFX Echo | Enable the echo for sound effects. Requires your level to have custom music with echo enabled. |
A0 | No Power-up Collection | Prevent Mario from collecting any power-ups including to the item box. Keeps Mario small. |
A2 | Disable Cape Turnaround Consistency | Disable the effects of the patch that makes turning around with cape consistent on button press. |
A3 | Enable 8-frame Cape Float | Apply a consistent 8 frame counter after the input is registered to adjust Mario's falling speed with cape. |
A4 | Remove Cape Float Delay | Set the delay before Mario starts floating with cape to zero frames. |
A5 | Death on Power-up Loss | Losing a power up will kill Mario instantly. Makes all hurt blocks death blocks and all damaging sprites lethal. |
A7 | Press L & R To Die | Kills the player if L and R are pressed. Useful for a quick reset. |
A9 | Disable Spin Jump Fireballs | Prevent Mario from shooting fireballs while spin jumping. |
AA | Restore Vanilla Springboard Quirks | Disable the effects of a patch that prevents re-grabbing kicked springboards and them zeroing your speed when grabbed. (Enabling spring midairs). |
AB | Disable Cape Flight | Prevents Mario from ever entering flight with cape. |
AC | Disable Screen Shake | Stops all Vanilla sources of Layer 1 screen shake. |
AC | Toggle Rope Glitch | Toggle off the fixes for the air climb rope glitch. |
Inserting these objects into your level to override the default settings of the retry system or even change the retry settings between sublevels.
ID | Object | Description |
---|---|---|
B0 | Instant Retry | Make the retry skip using prompt and restart instantly after dying. |
B1 | Prompt Retry | Set the retry system to use a prompt that says "Retry" in the middle of the screen. |
B2 | Bottom Left Retry Prompt | Move the "Retry" prompt to the bottom left if Prompt Retry is active (by default it's in the middle). |
B3 | No Power Ups from Midways | Disable gaining a power-up (mushroom) from a midway point. |
B4 | Vanilla Retry | Set the retry system back to using Vanilla death routine. |
B6 | Enable Retry Indicator | Display an indicator in the HUD when a level using fast retry. |
You can use these objects to start the player in various states when they enter the level at any point.
ID | Object | Description |
---|---|---|
C0 | Start with a Mushroom | Have the player start the level with a Mushroom. |
C1 | Start with Cape | Have the player start the level with a Cape. |
C2 | Start with Fire Flower | Have the player start the level with a Fire Flower. |
C3 | Start with Star Power | Have the player start the level with Star Power. Not infinite, lasts as long as a normal Star. |
C4 | Start on Green Yoshi | Have the player start the level on a Green Yoshi. |
C5 | Start on Yellow Yoshi | Have the player start the level on a Yellow Yoshi. |
C6 | Start on Blue Yoshi | Have the player start the level on a Blue Yoshi. |
C7 | Start on Red Yoshi | Have the player start the level on a Red Yoshi. |
C8 | Start in Spin Jump State | Have the player start the level spinning (most useful when Mario is in the air). |
C9 | Start in OFF State | Starts the level with the ON/OFF state in the OFF state. |
CA | Start in ON State | Starts the level with the ON/OFF state in the ON state. |
Due to how the memory works for the power-up or Yoshi states you can only have one of each of those objects active at a time, you can't have Cape and Flower or two Yoshi objects.
To insert a custom UberASM object, make note of the custom ID value from the tables above.
Next, open the "Add Object Manual (hex)" window while in Lunar Magic's "Layer 1 editing" mode, either from the "Edit → Insert manual..." menu action, or by pressing the Insert key in this mode.
In the window that appears, type the ID value for the UberASM Object of your choice into the "Size/Type/Ext" field, leaving the other fields at zero (0), and press OK to insert.
Multiple custom extended objects can be inserted by repeating the steps above for each UberASM object.
When inserted, custom extended objects will look like a pair of garbage tiles in Lunar Magic, but these objects won't actually appear in game.
An object may occasionally use an exit-enabled (door) tile which may display a warning depending on your Lunar Magic settings (the included objects avoid this by skipping some IDs).